一、应用场景
异常是一种物联云平台对设备触发异常规则后的状态定义,异常是可被恢复和处理的,所以异常是有状态的,分别为待处理、已处理和恢复。异常记录则是针对发生异常的设备进行设备信息和异常信息的展示。
开发者可通过本服务来获取设备异常的状态、记录等信息,也可通过相应接口来完成对异常的处理
客户可以在其他应用中完成处理异常的操作,可通过获取到相应的异常记录,通过本服务对异常记录进行处理,完成业务闭环。
二、功能说明
本服务提供设备异常的状态、记录查询,开发者可通过此能力获取异常的相关信息,并可以使用异常处理能力,完成异常的处理。
三、前提条件
- 获取授权
四、关键流程
无
五、API列表
5.1 查询告警状态、记录
5.1.1 查看异常规则当前状态列表
接口描述
应用场景: 提供给其他终端(例如:APP,PC端)展示告警的异常或恢复状态。
接口限制:B端用户权限。
返回信息:异常规则列表,包括告警类型,等级,触发时间等。
请求方式
POST
请求地址
/v2/corp/alarm/states
请求头
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
Access-Token | true | String | 访问Token(B端用户权限) |
Content-Type | true | String | application/json |
Api-Version | true | int | 固定为:3 |
请求参数
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
offset | False | Int | 从某个偏移量开始请求,默认为0 |
limit | False | Int | 请求的条目数量,默认为10 |
order | False | Map<String,String> | 可以指定通过设备默认的某个字段排序(键值对),desc降序,asc升序 |
filter | False | List<String> | 指定返回字段(字符串列表) |
query | True | Object | 查询字段,支持字段:id、device_id、rule_id、product_id、status、content、count、new_time、start_time、exception_count、tag_id、alarm_state_id、alarm_type、association_id、system_scope |
请求示例:
{
"offset": 0,
"limit": 10,
"query": {
"device_id": {
"$in": [237303308,1043107594]
}
},
"filter": [
"id",
"name",
"product_name",
"device_id",
"product_id",
"rule_id",
"status",
"content",
"current_value",
"start_time"
],
"order": {
"start_time": "desc"
}
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
count | True | Int | 符合查询条件异常状态总数 |
list | True | List |
当前异常状态列表 |
list.id | True | String | 异常状态ID |
list.product_id | True | String | 产品ID |
list.device_id | True | Int | 设备ID |
list.rule_id | True | String | 异常规则ID |
list.status | True | Int | 异常状态,枚举值,1:异常;2:恢复;4:处理中 |
list.content | True | String | 异常内容 |
list.count | True | Int | 异常次数 |
list.current | True | String | 引发异常的设备值 |
list.start_time | True | String | 触发异常开始时间,格式:yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
list.new_time | True | String | 最新一次达到异常时间,格式:yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
list.mac | True | String | 设备MAC |
list.exception_count | True | Int | 异常次数 |
list.tag_id | True | String | 异常等级标签 |
list.current_value | True | String | 异常当前值, key->value格式,用来标识多个属性触发的异常值 |
list.alarm_state_id | True | String | 异常状态标识 |
list.alarm_type | True | Int | 异常告警类型, 枚举值:1:单个物模型属性告警,2:在线状态告警,3:单个物模型属性状态持续变化告警,4:多个物模型属性状态持续变化告警,5:多个物模型属性告警 |
list.system_scope | False | Int | 规则范围,枚举值,0:产品下全部设备;1:项目下指定设备;2:品类下指定设备;3:产品下指定设备;4:边缘计算应用;默认为0。 |
返回示例:
{
"count": "异常状态总数",
"list": [{
"id": "异常状态id",
"product_id": "设备异常状态所属产品标识",
"device_id": "产生异常状态的设备标识",
"rule_id": "异常规则标识",
"status": "异常状态",
"content": "异常内容",
"current": "引发异常的当前值",
"count": "此状态已异常次数",
"start_time": "异常开始时间",
"new_time": "最近异常时间",
"mac": "设备mac地址",
"exception_count": "异常次数",
"tag_id": "异常标签标识",
"current_value": "异常异常当前值, json对象",
"alarm_state_id": "异常状态标识",
"alarm_type": "1",
"system_scope": 1
}, {
"id": "异常状态id",
"product_id": "设备异常状态所属产品标识",
"device_id": "产生异常状态的设备标识",
"rule_id": "异常规则标识",
"status": "异常状态",
"content": "异常内容",
"current": "引发异常的当前值",
"count": "此状态已异常次数",
"start_time": "异常开始时间",
"new_time": "最近异常时间",
"mac": "设备mac地址",
"exception_count": "异常次数",
"tag_id": "异常标签标识",
"current_value": "异常异常当前值, json对象",
"alarm_state_id": "异常状态标识",
"alarm_type": "1",
"system_scope": 0
}]
}
错误码 | 描述 |
---|---|
4001001 | 参数验证不通过 |
4001002 | 参数不能为空 |
5.1.2 查询历史异常记录
接口描述
应用场景: 提供给其他终端(例如:APP,PC端)查询设备历史异常记录。
接口限制:B端用户权限。
返回信息:设备异常历史记录。
请求方式
POST
请求地址
/v2/corp/alarm/state-reccords
请求头
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
Access-Token | true | String | 访问Token(B端用户权限) |
Content-Type | true | String | application/json |
Api-Version | true | int | 固定为:3 |
请求参数
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
offset | False | Int | 请求起始偏移量,默认为0 |
limit | False | Int | 本次请求数量,默认为10 |
filter | True | List<String> | 返回列表需要字段(字符串列表) |
query | False | Object | 查询字段,支持字段:id、device_id、rule_id、product_id、status、notify_type、content、count、new_time、start_time、exception_count、tag_id、alarm_type、notification_content、association_id、system_scope |
order | False | Map<String,String> | 排序 |
请求示例:
{
"offset": 0,
"limit": 10,
"query": {
"device_id": {
"$in": [237303308,1043107594]
}
},
"filter": [
"id",
"name",
"product_name",
"device_id",
"product_id",
"rule_id",
"status",
"content",
"current_value",
"start_time"
],
"order": {
"start_time": "desc"
}
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
count | True | Int | 异常状态历史记录总数 |
list | True | List<Object> | 异常状态历史记录列表 |
list.id | True | String | 异常状态历史记录标识 |
list.product_id | True | String | 产品ID |
list.device_id | True | Int | 设备ID |
list.rule_id | True | String | 异常规则ID |
list.status | True | Int | 异常状态,枚举值,1:异常;2:恢复;3:已处理;4:处理中 |
list.content | True | String | 异常内容 |
list.count | True | Int | 异常次数 |
list.current | True | String | 引发异常的当前值 |
list.start_time | True | String | 异常开始时间,格式:yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
list.new_time | True | String | 最近一次异常时间,格式:yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
list.mac | True | String | 设备MAC |
list.exception_count | True | Int | 异常次数 |
list.tag_id | True | String | 异常等级标签 |
list.current_value | True | String | 异常异常当前值, json对象 |
list.alarm_type | True | Int | 异常类型, 1:数据端点异常, 2:设备状态异常, 3:数据端点状态持续变化异常, 4:多数据端点状态持续变化异常,5:多数据端点异常 |
list.processing | False | Object | 处理中的相关信息 |
list.processing.dealing_person | False | String | 处理中人 |
list.processing.dealing_cause | False | String | 处理中处理原因 |
list.processing.dealing_time | False | String | 处理中处理时间,格式:yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
list.processing.dealing_type | False | Int | 处理类型,1:正常,2:误报,3:调试 |
list.processed | False | Object | 已处理的相关信息 |
list.processed.dealing_person | False | String | 已处理人 |
list.processed.dealing_cause | False | String | 已处理原因 |
list.processed.dealing_time | False | String | 已处理处理时间,格式:yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
list.processed.dealing_type | False | Int | 处理类型,1:正常,2:误报,3:调试 |
list.system_scope | False | Int | 规则范围,枚举值,0:产品下全部设备;1:项目下指定设备;2:品类下指定设备;3:产品下指定设备;4:边缘计算应用;默认为0。 |
返回示例:
{
"count": "异常状态历史记录总数",
"list": [{
"id": "异常状态历史记录标识",
"product_id": "设备异常状态历史记录所属产品标识",
"device_id": "产生异常状态历史记录的设备标识",
"rule_id": "异常规则标识",
"status": "异常历史记录状态",
"content": "异常历史记录内容",
"current": "引发历史记录异常的当前值",
"count": "此状态已异常次数",
"start_time": "历史记录异常开始时间",
"new_time": "历史记录最近异常时间",
"recover_time": "历史记录恢复时间",
"processed_time": "历史记录被处理时间",
"mac": "历史记录设备mac地址",
"exception_count": "异常次数",
"tag_id": "异常标签标识",
"current_value": "异常异常当前值, json对象",
"alarm_state_id": "异常状态标识",
"alarm_type": "异常类型, 1:数据端点异常, 2:设备状态异常, 3:数据端点状态持续变化异常, 4:多数据端点状态持续变化异常,5:多数据端点异常",
"processing": {
"dealing_person": "处理中处理人",
"dealing_cause": "处理中处理原因",
"dealing_time": "处理中处理时间",
"dealing_type": "处理类型,1:正常,2:误报,3:调试"
},
"processed": {
"dealing_person": "已处理处理人",
"dealing_cause": "已处理处理原因",
"dealing_time": "已处理处理时间",
"dealing_type": "处理类型,1:正常,2:误报,3:调试"
},
"system_scope": 1
},
{
"id": "异常状态历史记录标识",
"product_id": "设备异常状态历史记录所属产品标识",
"device_id": "产生异常状态历史记录的设备标识",
"rule_id": "异常规则标识",
"status": "异常历史记录状态",
"content": "异常历史记录内容",
"current": "引发历史记录异常的当前值",
"count": "此状态已异常次数",
"start_time": "历史记录异常开始时间",
"new_time": "历史记录最近异常时间",
"recover_time": "历史记录恢复时间",
"processed_time": "历史记录被处理时间",
"mac": "历史记录设备mac地址",
"exception_count": "异常次数",
"tag_id": "异常标签标识",
"current_value": "异常异常当前值, json对象",
"alarm_state_id": "异常状态标识",
"alarm_type": "异常类型, 1:数据端点异常, 2:设备状态异常, 3:数据端点状态持续变化异常, 4:多数据端点状态持续变化异常,5:多数据端点异常",
"processing": {
"dealing_person": "处理中处理人",
"dealing_cause": "处理中处理原因",
"dealing_time": "处理中处理时间",
"dealing_type": "处理类型,1:正常,2:误报,3:调试"
},
"processed": {
"dealing_person": "已处理处理人",
"dealing_cause": "已处理处理原因",
"dealing_time": "已处理处理时间",
"dealing_type": "处理类型,1:正常,2:误报,3:调试"
},
"system_scope": 0
}
]
}
错误码 | 描述 |
---|---|
4001001 | 参数验证不通过 |
4001002 | 参数不能为空 |
5.2 处理异常
5.2.1 标记当前异常记录为已处理
接口描述
应用场景: 提供给其他终端(例如:APP,PC端)批量标记当前异常记录为已处理。
接口限制:B端用户权限。
请求方式
POST
请求地址
/v2/corp/alarm/state-processed?parameter=base64(dealingContent)
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
parameter |
False | string | 处理意见,格式为 base64(dealingContent),其中dealingContent为JSON字符串 { “dealing_person”: “处理人”, “dealing_cause”: “处理原因”, “dealing_time”: “处理时间” } |
dealing_person | False | string | 处理人,当有处理意见参数时,则处理意见必须包含该参数 |
dealing_cause | False | string | 处理原因,当有处理意见参数时,则处理意见必须包含该参数 |
dealing_time | False | string | 处理时间,当有处理意见参数时,则处理意见必须包含该参数格式如: yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
请求头
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
Content-Type | True | String | application/json |
Api-Version | False | int | 接口版本,0:默认版本;2:V2版本;3:V3版本 |
Access-Token | True | String | 企业成员、企业授权 |
请求参数
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
名称 | 必填 | 类型 | 备注 |
state_ids | True | List<String> | 异常状态ID列表(字符串列表) |
请求示例:
{
"state_ids": ["alarm-state-id-1", "alarm-state-id-2"]
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
result | True | Array | 返回结果 |
:————— | :— | :—– | :————— |
result.state_id | True | String | 处理前异常状态id |
result.record_id | True | String | 处理后异常记录id |
返回示例:
{
"result": [{
"state_id": "处理前异常状态id",
"record_id": "处理后异常记录id"
}, {
"state_id": "处理前异常状态id",
"record_id": "处理后异常记录id"
}]
}
错误码 | 描述 |
---|---|
- | - |